This invention relates to a compressive image encoding and decoding method using edge synthesis and the inverse wavelet transform, and to digital image encoding and decoding devices employing this method.
Compression is essential for efficient storage and transmission of digitized images. Compression methods have been described by the Joint Photographic Experts Group (JPEG) for still images, and the Motion Picture Experts Group (MPEG) for moving images. The JPEG method involves a discrete cosine transform (DCT), followed by quantization and variable-length encoding. The MPEG method involves detecting motion vectors. Both methods require substantial computation, the detection of motion vectors being particularly demanding.
Recently there has been much interest in the wavelet transform as a means of obtaining high compression ratios with relatively modest amounts of computation. This transform employs a family of wavelets related by dilation and translation; that is, the family consists of occurrences of the same basic wavelet at different locations and on different scales. If the scales form a progressively doubling sequence, and if the basic wavelet is zero everywhere except in a limited domain, wavelet transforms and inverse wavelet transforms can be carried out with efficient computational algorithms.
A wavelet transform can be described as a filtering process executed at each wavelet scale. A digitized image, for example, is transformed by filtering with the basic wavelet, then with the basic wavelet dilated by a factor of two, then with the basic wavelet dilated by a factor of four, and so on.
One prior-art wavelet encoding scheme employs a complementary pair of wavelets to divide an image into a high-frequency component and a low-frequency component. These components contain information about variations on scales respectively less than and greater than a certain cut-off scale. This process is iterated on the low-frequency component with a doubling of the wavelet scale, obtaining new low-frequency and high-frequency components, then iterated again on the new low-frequency component, and so on. After a certain number of iterations, the components are encoded by an encoding scheme that works from low-toward high-frequency information. This scheme enables accurate image reconstruction, but retains too much high-frequency information to achieve high compression ratios.
Another prior-art wavelet encoding scheme employs a basic wavelet that is the first derivative of a smoothing filter (that is, the first derivative of a low-pass filtering function). This type of wavelet acts as a high-pass filter. High-frequency information is obtained by detecting local peaks (local maxima of absolute values) in the result of the wavelet transform, which correspond to edges in the original image. The size and location of the peak values at a selected scale are encoded, along with a low-frequency image obtained by smoothing at the largest scale of the wavelet transform. Fairly high compression ratios can be obtained in this way.
To reconstruct the original image from the encoded data, this prior-art method employs an algorithm derived from a mathematical procedure involving iterated projections in Hilbert space. Under ideal conditions, the projections converge toward a unique set of data that (i) have the required local peak values and (ii) are within the range of the wavelet transform operator. An inverse wavelet transform is then carried out on the converged data to obtain the original image.
It has yet to be shown, however, that the projections always converge, or that data satisfying conditions (i) and (ii) are unique. In practice, there is difficulty in knowing when to stop iterating. For some images, it seems that data satisfying (i) and (ii) are not unique, and instead of converging, the iteration wanders endlessly through Hilbert space, first approaching the desired image transform, then moving away again.
Still higher compression ratios have been obtained by a fractal compression scheme, but this requires a very large amount of computation in the encoding process.